1. Field of the Invention
The present invention relates generally to a method and apparatus for carrying real time services, such as voice telecommunication, via a packet switched network and in particular to an apparatus and method for voice, facsimile and multimedia over Internet Protocol (IP) communications components.
2. Description of the Related Art
Voice telecommunications has traditionally been conducted via dedicated telephone networks utilizing telephone switching offices and either wired or wireless connections for transmitting the voice signal between the users' telephones. Such telecommunications, which use the Public Switched Telephone Network (PSTN), may be referred to as circuit committed communications. Voice over Internet Protocol (VoIP) provides an alternative voice telecommunication means which use discrete packets digitized voice information to transmit the voice signals. The packets are transmitted either over the public Internet or within intranets.
Typical VoIP network infrastructure includes gateways, gatekeepers, proxy servers, softswitches, session border controllers, etc. Due to optimization of network resources and to particular designs, network operators may choose to integrate functionality of the separate components with one another such that multiple infrastructure components can be collocated on one physical component.
It is desirable that the VoIP network infrastructure components be designed into a network such that network operators can provide meaningful services to their customers.
The following terms are used in this disclosure:
Gateway—An entity that can bridge or serve as a “gateway” between networks. In VoIP, it typically refers to a device that can “gateway” between the traditional Public Switched Telephone Network (PSTN) and the VoIP network.
Gatekeeper—An entity that works in conjunction with the gateway to determine how to handle VoIP calls. The gatekeeper can be either in the call path or play only a consultative role in every call. The gatekeeper usually only handles VoIP calls setup using the H.323 protocol.
Proxy Server—An intermediate entity, similar in functionality to the gatekeeper, that determines how to handle VoIP calls. A proxy server usually only handles VoIP calls setup using the session initiation protocol (SIP).
User Agent—An entity that can place or receive a VoIP call, usually based on the SIP protocol (session initiation protocol).
Border element—A border element is also called network edge element. This is typically where the policy definitions or the administrative control changes. Policy can be defined at virtually all layers in the seven layer open systems interconnection (OSI) model. For example, at layer three of the seven layer model policy can typically be described in terms of routing peers, advertised IP routes etc. Routers would typically act as the border elements where such policies change between networks. Network address translators (NATs) act as border elements to connect two or more non-routable address domains. Firewalls implement policy control (for layer three and above) as border elements where the administrative control changes. The application layer typically uses flows at lower layers as well (for example, in the network layer and the transport layer). Control of the application layer potentially allows control of microflows at lower layers. For example, individual media streams for SIP calls having identical layer three characteristics may be subject to different policies. Session layer border control (SBC) allows other border elements (like routers, NAT/Firewalls, and quality of service brokers) to understand these microflows and provide the appropriate policy on a more granular basis. As a stand-alone element, an SBC simply allows policy control at the application layer.
The seven layer OSI model is defined as including a physical layer as layer one, a data link layer as layer two, a network layer as layer three, a transport layer as layer four, a session layer as layer five, a presentation layer as layer six and an application layer as layer seven.
Session Control—Session control refers to policy control at the application layer. Session control may be applied at the border of a network or inside the core of the network. The controlled element may be a NAT/firewall or a quality of service broker or router or a media resource (like a transcoder or media server). In addition to the policy control exerted by the controlled element, a session controller can allow control of the session in two fashions: “hop to hop” (also called peer level) or “end to end”, depending on how the policy is being managed. Privacy; security; topology screening; Authentication, Authorization and Accounting (AAA); and law enforcement assistance (CALEA, Communications Assistance to Law Enforcement Act) are some of the session control functions.
Call Routing—Call routing is the use of layer five (of the seven layer OSI model) parameters (like DNIS, ANI, H.323 ID, Trunk group, CIC) to select layer three terminations for a call.
Call Translation—Translation of incoming layer five parameters (like DNIS (dialed number identification service), ANI (automatic number identification), trunk group, H.323 ID, CIC (call inquiry command) before handing over a call to an egress entity. Hand-over is specific to destinations and does not affect the process of call routing.
Source selection—A session controller can assign policy to calls using layer three and layer five information. Source selection happens when such assignment happens at the ingress call peer. Source selection allows an administrator to provision policy which is common to a source call-peer at a single place in the database.
Realm—A realm is one of several logical grouping of endpoints provided by the multi-protocol session controller. Compared to other grouping mechanisms (like i-edge groups, zones, etc.), a realm allows the multi-protocol session controller to provide a separate logical signaling address for both session initiation protocol (creating a virtual SIP server) and H.323 (creating a virtual H.323 gateway and gatekeeper). This allows the multi-protocol session controller to layer the realm groups on top of layer three private networks.
Subnet—A subnet is an IP (Internet protocol) subnetwork inside a realm.
Call Peer—A call peer is a logical grouping for calls. Call peers may be static (created by the administrator) or dynamic (created at runtime by the multi-protocol session controller). A call peer must belong to a single device and may belong to one or more call peer groups. There are two kinds of call peers: an ingress call peer and an egress call peer, as defined in the following.
Ingress Call Peer—An ingress call peer is a call peer which is associated with the incoming of a call.
Egress Call Peer—An egress call peer is a call peer which is associated with the outgoing of a call.
Call Peer Group—A call peer group is a (logical) grouping of call peers based on policy (business policy, for example, service level assurances or allocation of enterprise resources), for example, sites or peers.
Device—A device is a collection of call peers. A device may be static (have a fixed binding between call peers and a layer three address) or dynamic (when protocol registrations are to create the binding between call peers and layer three addresses). A dynamic device may have static or dynamic call peers. A static device only has static call peers.
Template—A template is a rule set used for dynamically managing devices and call peers, such as subnets.
IWF—SIP/H.323 Inter-working Function
A-O-R SIP—Address of Record (RFC 3261)
AAA—Authentication, Authorization and Accounting. These refer to the three functions performed for every call to authenticate a user's phone call, authorize the user to utilize resources in the network and account for the resource usage.